Various communication networks and communication protocols do not have a central clock but use distributed clock synchronization. In distributed clock synchronization type of networks, devices are able to communicate with each other over, for example, a bus without sharing a (central) clock signal. In such networks and protocols each device has an internal clock which needs to have a certain accuracy such that the devices can communicate with each other via the bus. If the internal clocks operate, within certain tolerances, at the same frequency or, in other examples, at frequencies that relate to each other, a receiver is able to synchronize with the transmitter and decode the received data packet without errors.
The required tolerances may be met by crystal or ceramic oscillators. However, in specific applications it is required that an oscillator is implemented on an integrated circuit without external components is used and, thus, it is required to use of a fully integrated RC or LC oscillator. It is relatively difficult to implement an integrated oscillator which provides the required accuracy especially when a very wide range of operating temperatures and a life-time of the devices is taken into account. Furthermore, in the specific applications, the network devices with the internal oscillators may be required to use limited power and to be manufactured cost efficiently. Therefore, there is an incentive to use low precision clock source in devices of a network that uses distributed clock synchronization. However, if the clock sources do not operate within the tolerance limits defined in the network and communication protocol specifications, they cannot be used to reliably synchronize to the received data.
An example of a network/communication bus with distributed clock synchronization is the Controller Area Network (CAN, ISO 11898) which is a message based network that is often used in vehicles and is also used in industrial automation and medical equipment. The CAN standard is designed to allow digital devices to communicate with each other via a bus without the presence of a host computer. The CAN physical layer specification defines also CAN high-speed medium access units with selective wake-up (SWU) functionality. Such devices wake-up or wake-up another circuitry in response to receiving particular messages via the CAN bus. Most CAN SWU devices are low-power devices and need to be manufactured relatively cost-effective—thus, the CAN SWU devices preferably have a cost clock source, and, as previously discussed, low cost clock sources are often a low precision clock source.
US2012/0185721 describes a possible solution for reliable receiving information with CAN SWU devices that have a low precision clock source. The cited patent application proposes to use multiple timing engines that sample received bits with slightly different frequencies and a timing engine resolver which determines which one of the multiple timing engines correctly samples the received bits. A disadvantage of the proposed solution of the cited patent application is that a plurality of timing/sampling engines for sampling the received signal must be implemented. This implementation incurs silicon area and test penalties to the die costs of an integrated circuit on which the CAN SWU devices are implemented.